import axios from './http'

// 上传单个文件 使用koa-body
export function uploadfile(data) {
  return axios({
    url: `/f_api/utils/uploadfile`,
    method: 'post',
    data
  })
}

// 上传多个文件 使用koa-body
export function uploadmultifiles(data, callback) {
  return axios({
    url: `/f_api/utils/uploadfiles`,
    method: 'post',
    data,
    onUploadProgress: progressEvent => {
      // 原生获取上传进度的事件
      if (progressEvent.lengthComputable) {
        callback && callback(progressEvent);
      }
    }
  })
}

export function decompression(data) {
  return axios({
    url: '/f_api/utils/unzipfile',
    method: 'post',
    data
  })
}


// 创作系统 上传多个文件
export function d_uploadmultifiles(data) {
  return axios({
    url: `/d_api/utils/uploadfiles`,
    method: 'post',
    timeout: 120000,
    data
  })
}

export function videoUpload(data) {
  return axios({
    url: `/v_api/upload`,
    method: 'post',
    data
  })
}


// 上传单个文件 使用node原生方法
export function upload(data) {
  return axios({
    url: `/f_api/utils/upload`,
    method: 'post',
    data
  })
}

/**
 * 分片上传
 * @param  { hash, index } data
 */
export function uploadPart(data) {
  return axios({
    url: '/f_api/utils/upload_part',
    method: 'post',
    data
  })
}

// 合并分片
export function uploadMergePart(data) {
  return axios({
    url: '/f_api/utils/merge_part',
    method: 'post',
    data
  })
}

// 验证文件是否已存在！
export function verifyFile(data) {
  return axios({
    url: '/f_api/utils/verifyfile',
    method: 'post',
    data
  })
}

// 下载文件
export function directDownload(data) {
  return axios({
    url: `/f_api/download/direct/${data}`,
    method: 'get',
  })
}


// 分片下载文件
export function rangeDownload(data) {
  return axios({
    url: `/f_api/download/rangeFile/${data}`,
    method: 'get',
  })
}

